home *** CD-ROM | disk | FTP | other *** search
Oberon Text | 1995-12-18 | 2.7 KB | 76 lines | [TEXT/.Ob4] |
- Syntax10.Scn.Fnt
- StampElems
- Alloc
- 18 Dec 95
- MODULE Printer; (*mf 15.1.93 / mah
- IMPORT
- Kernel, Macintosh, Oberon, Sys, SYS := SYSTEM;
- res*: INTEGER;
- PageWidth*, PageHeight*: INTEGER;
- curR, curG, curB: INTEGER; (* current colors *)
- RGBForeColor: PROCEDURE (rgb: Sys.RGBColor);
- PROCEDURE Open*(VAR name, user: ARRAY OF CHAR; password: LONGINT);
- VAR cmd: ARRAY 32 OF CHAR;
- BEGIN
- IF name="QuickDraw" THEN cmd:="QuickDrawPrinter.Install"
- ELSIF name="PostScript" THEN cmd:="PostScriptPrinter.Install"
- ELSIF name="Out.Prt" THEN cmd:="DummyPrinter.Install"
- ELSE cmd:="NetworkPrinter.Install" END;
- Oberon.Call(cmd, Oberon.Par, FALSE, res);
- IF res=0 THEN Macintosh.prOpen(name, user, password) END
- END Open;
- PROCEDURE UseColor* (red, green, blue: INTEGER);
- VAR rgb: Sys.RGBColor;
- BEGIN
- IF (red # curR) OR (green # curG) OR (blue # curB) THEN
- curR := red; curG := green; curB := blue;
- rgb.red := red*101H;
- rgb.green := green*101H;
- rgb.blue := blue*101H;
- RGBForeColor (rgb)
- END
- END UseColor;
- PROCEDURE Close*;
- BEGIN Macintosh.prClose
- END Close;
- PROCEDURE Page*(nofcopies: INTEGER);
- BEGIN
- curR := 0; curG := 0; curB := 0;
- Macintosh.prPage(nofcopies)
- END Page;
- PROCEDURE Circle*(x0, y0, r: INTEGER);
- BEGIN Macintosh.prCircle(x0, y0, r)
- END Circle;
- PROCEDURE Ellipse*(x0, y0, a, b: INTEGER);
- BEGIN Macintosh.prEllipse(x0, y0, a, b)
- END Ellipse;
- PROCEDURE Line*(x0, y0, x1, y1: INTEGER);
- BEGIN Macintosh.prLine(x0, y0, x1, y1)
- END Line;
- PROCEDURE Spline*(x0, y0, n, open: INTEGER; VAR X, Y: ARRAY OF INTEGER);
- BEGIN Macintosh.prSpline(x0, y0, n, open, X, Y)
- END Spline;
- PROCEDURE Picture*(x, y, w, h, mode: INTEGER; adr: LONGINT);
- BEGIN Macintosh.prPicture(x, y, w, h, mode, adr)
- END Picture;
- PROCEDURE ReplConst*(x, y, w, h: INTEGER);
- BEGIN Macintosh.prReplConst(x, y, w, h)
- END ReplConst;
- PROCEDURE ReplPattern*(x, y, w, h, col: INTEGER);
- BEGIN Macintosh.prReplPattern(x, y, w, h, col)
- END ReplPattern;
- PROCEDURE String*(x, y: INTEGER; VAR s: ARRAY OF CHAR; VAR fname: ARRAY OF CHAR);
- BEGIN Macintosh.prString(x, y, s, fname)
- END String;
- PROCEDURE ContString*(VAR s, fname: ARRAY OF CHAR);
- BEGIN Macintosh.prContString(s, fname)
- END ContString;
- PROCEDURE UseListFont*(VAR name: ARRAY OF CHAR);
- BEGIN Macintosh.prUseListFont(name)
- END UseListFont;
- BEGIN Sys.Assign ("RGBForeColor", SYS.ADR (RGBForeColor));
- Macintosh.cmdName:="NetworkPrinter.Install"; Macintosh.cmdQ.Handle ();
- IF Macintosh.qRes#0 THEN Macintosh.cmdName:="PostScriptPrinter.Install"; Macintosh.cmdQ.Handle () END;
- IF Macintosh.qRes#0 THEN Macintosh.cmdName:="QuickDrawPrinter.Install"; Macintosh.cmdQ.Handle () END
- END Printer.
-